package MathLib.MyMatrices;

import java.io.InputStream;
import java.io.OutputStream;

/**
 *
 * @author marik
 */
public interface IMatrix{
    public void readMatrix(InputStream in);
    public void printMatrix(OutputStream out);
    public void AddToThis(CMatrix A)throws MatrixEception;
    public void AddToThis(CMatrix A, CMatrix B)throws MatrixEception;
    //public static CMatrix Add(CMatrix A, CMatrix B)throws MatrixEception;
    public CMatrix Add(CMatrix A)throws MatrixEception;
    
    public void SubstructFromThis(CMatrix A)throws MatrixEception;
    public void SubstructFromThis(CMatrix A, CMatrix B)throws MatrixEception;
    //public CMatrix Substruct(CMatrix A, CMatrix B)throws MatrixEception;
    public CMatrix Substruct(CMatrix A)throws MatrixEception;
    
    public void MultiplyOnThis(CMatrix A)throws MatrixEception;
    public void MultiplyOnThis(CMatrix A, CMatrix B)throws MatrixEception;
    //public CMatrix Multiply(CMatrix A, CMatrix B)throws MatrixEception;
    public CMatrix Multiply(CMatrix A)throws MatrixEception;

    public String toString();
}
